import axios from "axios";
import { useToTalks } from "../store";


const endpoint = 'https://api.openai.com/v1/chat/completions';
const headers = {
    'Content-Type': 'application/json',
    // 这是我的个人api，其实可以在界面上让用户输入个人api，然后后续如果开发相关的提示工程功能，可以在个人的基础上进行，。
    'Authorization': `Bearer ${'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'}`
};
/**
 * 调用OpenAI的API，根据用户需求推荐3个相关网址
 * @param prompt 用户需求
 * @returns 返回相关网址JSON格式字符串
 */
export async function getChatGPTResponse(prompt: string): Promise<any> {
    try {
        const usetake = useToTalks()
        const requestBody = {

            model: 'gpt-3.5-turbo',
            messages: [
                { role: 'user', content: '假设你是一个热爱分享网址的服务者，请你根据这个需求：“' + prompt + '”,推荐3个相关网址（中国网址优先）。但返回格式为json,content里面就一个数组，格式要求：{\'title\'：网站名称,\'reason\'：写上推荐理由,\'url\':该网站的网址,\'img\':该网站的图标的url地址},,' }
            ],
            max_tokens: 2048,
            temperature: 0
        };
        usetake.addTake(requestBody['messages'][0])
        const response = await axios.post(endpoint, requestBody, { headers: headers });
        usetake.addTake(response.data.choices[0]['message'])
        const content = response.data.choices[0]['message']['content'];
        return content

    } catch (error) {
        console.error(error);
        return '请求出错';
    }
}

/**
 * 调用OpenAI的API，根据用户需求推荐3个相关网址(多轮对话)
 * @param prompt 用户需求
 * @returns 返回相关网址JSON格式字符串
 */
export async function getChatGPTResponseOther(): Promise<any> {
    try {
        const usetake = useToTalks()
        const requestBody = {
            model: 'gpt-3.5-turbo',
            messages: <any[]>[],
            max_tokens: 2048,
            temperature: 0
        };
        requestBody.messages.push(...usetake.talk)
        requestBody.messages.push({ role: 'user', content: '在给我和不同于之前的网址，格式和上次一样' })
        const response = await axios.post(endpoint, requestBody, { headers: headers });
        usetake.addTake(response.data.choices[0]['message'])
        return JSON.parse(response.data.choices[0]['message']['content']);
    } catch (error) {
        console.error(error);
        return '请求出错';
    }
}
/**
 * 调用零七生活的API，拿到历史今日的数据
 * @param prompt 
 * @returns 返回相关内容的JSON格式字符串
 */
export async function getHistoryToday(): Promise<any> {
    try {
        const res = await axios.get("https://api.oick.cn/lishi/api.php")
        return res.data
    } catch (error) {
        console.log(error)
    }
}


